﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Bussines;


namespace Bussines
{
    public class clHITELEK
    {
        private SqlConnection sc;
        TBLObj pBLObj = new TBLObj();
        private int _PRT_ID = -1;

        SqlDataAdapter adapterHITELEK;

        DataSet dsHITELEK;

        public clHITELEK(TBLObj iBLObj, int iPRT_ID)
        {
            pBLObj = iBLObj;
            sc = iBLObj.sqlConnection;
            _PRT_ID = iPRT_ID;
        }

        public DataSet GetHitelek()
        {
            dsHITELEK = new DataSet();
            adapterHITELEK = new SqlDataAdapter();

            adapterHITELEK.SelectCommand = new SqlCommand("SELECT * FROM HITELEK " + 
            "WHERE HTL_PRT_ID = " + _PRT_ID.ToString(), sc);
            adapterHITELEK.Fill(dsHITELEK, "HITELEK");
            /*  insertCommand();
            updateCommandCACT();*/

            return dsHITELEK;
        }

        public bool SaveHitelek(int iHTL_ID, int iHTL_TIPUS, int iHTL_PRT_ID, int iHTL_BNK_ID, DateTime iHTL_FELV_DATUM, string iHTL_DEVIZANEM, double iHTL_ARFOLYAM, double iHTL_OSSZEG,
                                    double iHTL_KAMAT, double iHTL_KKOLTSEG, double iHTL_RESZLET, double iHTL_LKOLTSEG, int iHTL_TURELMI, int iHTL_HATRAL, string iHTL_BIZTOSITAS,
                                    string iHTL_MEGJEGYZES, DateTime iHTL_CREATED, int iHTL_CREATED_BY, DateTime iHTL_MODIFIED, int iHTL_MODIFIED_BY,ref string oErr)
        {
            
            SqlCommand cmd = new SqlCommand();
            SqlCommand cmd_insert = new SqlCommand();

            oErr = "";

            cmd.Connection = sc;
            cmd_insert.Connection = sc;

            cmd.CommandType = CommandType.Text;
            cmd_insert.CommandType = CommandType.Text;

            cmd.CommandText = "UPDATE HITELEK SET " +
                " HTL_TIPUS = @HTL_TIPUS, " +
                " HTL_PRT_ID = @HTL_PRT_ID, " +
                " HTL_BNK_ID = @HTL_BNK_ID, " +
                " HTL_FELV_DATUM = @HTL_FELV_DATUM, " +

                " HTL_DEVIZANEM = @HTL_DEVIZANEM, " +
                " HTL_ARFOLYAM = @HTL_ARFOLYAM, " +
                " HTL_OSSZEG = @HTL_OSSZEG, " +
                " HTL_KAMAT = @HTL_KAMAT, " +
                " HTL_KKOLTSEG = @HTL_KKOLTSEG, " +

                " HTL_RESZLET = @HTL_RESZLET, " +
                " HTL_LKOLTSEG = @HTL_LKOLTSEG, " +
                " HTL_TURELMI = @HTL_TURELMI, " +
                " HTL_HATRAL = @HTL_HATRAL, " +
                " HTL_BIZTOSITAS = @HTL_BIZTOSITAS, " +

                " HTL_MEGJEGYZES = @HTL_MEGJEGYZES, " +
                " HTL_MODIFIED = @HTL_MODIFIED, " +
                " HTL_MODIFIED_BY = HTL_MODIFIED_BY " +
                "WHERE " +
                " HTL_ID = @HTL_ID ";


            cmd.Parameters.Add(new SqlParameter("HTL_ID", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("HTL_TIPUS", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("HTL_PRT_ID", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("HTL_BNK_ID", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("HTL_FELV_DATUM", SqlDbType.DateTime));

            cmd.Parameters.Add(new SqlParameter("HTL_DEVIZANEM", SqlDbType.VarChar ));
            cmd.Parameters.Add(new SqlParameter("HTL_ARFOLYAM", SqlDbType.Money ));
            cmd.Parameters.Add(new SqlParameter("HTL_OSSZEG", SqlDbType.Money));
            cmd.Parameters.Add(new SqlParameter("HTL_KAMAT", SqlDbType.Money));
            cmd.Parameters.Add(new SqlParameter("HTL_KKOLTSEG", SqlDbType.Money));

            cmd.Parameters.Add(new SqlParameter("HTL_RESZLET", SqlDbType.Money));
            cmd.Parameters.Add(new SqlParameter("HTL_LKOLTSEG", SqlDbType.Money));
            cmd.Parameters.Add(new SqlParameter("HTL_TURELMI", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("HTL_HATRAL", SqlDbType.Int));
            cmd.Parameters.Add(new SqlParameter("HTL_BIZTOSITAS", SqlDbType.VarChar));

            cmd.Parameters.Add(new SqlParameter("HTL_MEGJEGYZES", SqlDbType.VarChar ));
            cmd.Parameters.Add(new SqlParameter("HTL_MODIFIED", SqlDbType.DateTime));
            cmd.Parameters.Add(new SqlParameter("HTL_MODIFIED_BY", SqlDbType.VarChar));

            cmd.Parameters["HTL_ID"].Value = iHTL_ID;
            cmd.Parameters["HTL_TIPUS"].Value = iHTL_TIPUS;
            cmd.Parameters["HTL_PRT_ID"].Value = iHTL_PRT_ID;
            cmd.Parameters["HTL_BNK_ID"].Value = iHTL_BNK_ID;
            cmd.Parameters["HTL_FELV_DATUM"].Value = iHTL_FELV_DATUM;
            cmd.Parameters["HTL_DEVIZANEM"].Value = iHTL_DEVIZANEM;

            cmd.Parameters["HTL_ARFOLYAM"].Value = iHTL_ARFOLYAM;
            cmd.Parameters["HTL_OSSZEG"].Value = iHTL_OSSZEG;
            cmd.Parameters["HTL_KAMAT"].Value = iHTL_KAMAT;
            cmd.Parameters["HTL_KKOLTSEG"].Value = iHTL_KKOLTSEG;
            cmd.Parameters["HTL_RESZLET"].Value = iHTL_RESZLET;

            cmd.Parameters["HTL_LKOLTSEG"].Value = iHTL_LKOLTSEG;
            cmd.Parameters["HTL_TURELMI"].Value = iHTL_TURELMI;
            cmd.Parameters["HTL_HATRAL"].Value = iHTL_HATRAL;
            cmd.Parameters["HTL_BIZTOSITAS"].Value = iHTL_BIZTOSITAS;
            cmd.Parameters["HTL_MEGJEGYZES"].Value = iHTL_MEGJEGYZES;

            cmd.Parameters["HTL_MODIFIED"].Value = iHTL_MODIFIED;
            cmd.Parameters["HTL_MODIFIED_BY"].Value = iHTL_MODIFIED_BY;



            cmd_insert.CommandText = "INSERT INTO HITELEK " +
                "(HTL_TIPUS, HTL_PRT_ID, HTL_BNK_ID, HTL_FELV_DATUM, HTL_DEVIZANEM, " +
                " HTL_ARFOLYAM, HTL_OSSZEG, HTL_KAMAT, HTL_KKOLTSEG, HTL_RESZLET, " +
                " HTL_LKOLTSEG, HTL_TURELMI, HTL_HATRAL, HTL_BIZTOSITAS, HTL_MEGJEGYZES, " +
                " HTL_CREATED, HTL_CREATED_BY, HTL_MODIFIED, HTL_MODIFIED_BY) " +
                "VALUES " +
                "(@HTL_TIPUS, @HTL_PRT_ID, @HTL_BNK_ID, @HTL_FELV_DATUM, @HTL_DEVIZANEM, " +
                " @HTL_ARFOLYAM, @HTL_OSSZEG, @HTL_KAMAT, @HTL_KKOLTSEG, @HTL_RESZLET, " +
                " @HTL_LKOLTSEG, @HTL_TURELMI, @HTL_HATRAL, @HTL_BIZTOSITAS, @HTL_MEGJEGYZES, " +
                " @HTL_CREATED, @HTL_CREATED_BY, @HTL_MODIFIED, @HTL_MODIFIED_BY) ";


            cmd_insert.Parameters.Add(new SqlParameter("HTL_TIPUS", SqlDbType.Int));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_PRT_ID", SqlDbType.Int));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_BNK_ID", SqlDbType.Int));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_FELV_DATUM", SqlDbType.DateTime));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_DEVIZANEM", SqlDbType.VarChar));

            cmd_insert.Parameters.Add(new SqlParameter("HTL_ARFOLYAM", SqlDbType.Money));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_OSSZEG", SqlDbType.Money));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_KAMAT", SqlDbType.Money));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_KKOLTSEG", SqlDbType.Money));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_RESZLET", SqlDbType.Money));

            cmd_insert.Parameters.Add(new SqlParameter("HTL_LKOLTSEG", SqlDbType.Money));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_TURELMI", SqlDbType.Int));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_HATRAL", SqlDbType.Int));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_BIZTOSITAS", SqlDbType.VarChar));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_MEGJEGYZES", SqlDbType.VarChar));

            cmd_insert.Parameters.Add(new SqlParameter("HTL_CREATED", SqlDbType.DateTime));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_CREATED_BY", SqlDbType.VarChar));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_MODIFIED", SqlDbType.DateTime));
            cmd_insert.Parameters.Add(new SqlParameter("HTL_MODIFIED_BY", SqlDbType.VarChar));

            cmd_insert.Parameters["HTL_TIPUS"].Value = iHTL_TIPUS;
            cmd_insert.Parameters["HTL_PRT_ID"].Value = iHTL_PRT_ID;
            cmd_insert.Parameters["HTL_BNK_ID"].Value = iHTL_BNK_ID;
            cmd_insert.Parameters["HTL_FELV_DATUM"].Value = iHTL_FELV_DATUM;
            cmd_insert.Parameters["HTL_DEVIZANEM"].Value = iHTL_DEVIZANEM;

            cmd_insert.Parameters["HTL_ARFOLYAM"].Value = iHTL_ARFOLYAM;
            cmd_insert.Parameters["HTL_OSSZEG"].Value = iHTL_OSSZEG;
            cmd_insert.Parameters["HTL_KAMAT"].Value = iHTL_KAMAT;
            cmd_insert.Parameters["HTL_KKOLTSEG"].Value = iHTL_KKOLTSEG;
            cmd_insert.Parameters["HTL_RESZLET"].Value = iHTL_RESZLET;

            cmd_insert.Parameters["HTL_LKOLTSEG"].Value = iHTL_LKOLTSEG;
            cmd_insert.Parameters["HTL_TURELMI"].Value = iHTL_TURELMI;
            cmd_insert.Parameters["HTL_HATRAL"].Value = iHTL_HATRAL;
            cmd_insert.Parameters["HTL_BIZTOSITAS"].Value = iHTL_BIZTOSITAS;
            cmd_insert.Parameters["HTL_MEGJEGYZES"].Value = iHTL_MEGJEGYZES;

            cmd_insert.Parameters["HTL_CREATED"].Value = iHTL_CREATED;
            cmd_insert.Parameters["HTL_CREATED_BY"].Value = iHTL_CREATED_BY;
            cmd_insert.Parameters["HTL_MODIFIED"].Value = iHTL_MODIFIED;
            cmd_insert.Parameters["HTL_MODIFIED_BY"].Value = iHTL_MODIFIED_BY;

            
            try
            {
                if (iHTL_ID == -1)
                {
                    cmd_insert.ExecuteNonQuery();
                }
                else
                {
                    cmd.ExecuteNonQuery();
                }
                return true;
            }
            catch (Exception e)
            {

                string s = "Hiba a hitelek mentése közben!";
                Utilities.LogError(pBLObj, e, "clHITELEK", s);
                oErr = s;
                return false;
            }

        }

    }
}
